High-level Abstractions for Performance, Portability and Continuity of Scientific Software on Future Computing Systems

نویسندگان

  • G. R. Mudalige
  • W. Gaudin
  • A. Mallinson
چکیده

In this report we present research on applying a domain specific high-level abstractions development strategy with the aim to “future-proof“ a key class of high performance computing (HPC) applications that simulate hydro-dynamics computations at AWE plc. We build on an existing high-level abstraction framework, OPS, that is being developed for the solution of multi-block structured meshbased applications at the University of Oxford. The target application, is an unclassified benchmark application, CloverLeaf, that consists of algorithms of interest from the hydro-dynamics workload at AWE plc. OPS uses an “active library” approach where a single application code written using the OPS API can be transformed into different parallel implementations which can then be linked against the appropriate parallel library enabling execution on different back-end hardware platforms. At the same time the generated code and the platform specific back-end libraries are highly optimized utilizing the best low-level features of a target architecture to make an OPS application achieve near-optimal performance including high computational efficiency and minimized memory traffic. We present (1) the conversion of CloverLeaf to utilize OPS, (2) the utilization of OPS’s code generation tools for obtaining several parallel implementations of the application and finally (3) its performance compared to the original application on a range of parallel systems including multi-core CPUs, NVIDIA GPUs and a Cray XC30 distributed memory system. Our results show that the development of parallel HPC applications through the careful factorization of a parallel program’s functionality and implementation, through a high-level framework such as OPS is no more time consuming nor difficult than writing a one-off parallel program targeting only a single parallel implementation. However the OPS strategy pays off with a highly maintainable single application source without compromising performance portability on the parallel systems on which it will be executed. It also lays the groundwork for providing support for execution on future parallel systems. We believe such an approach will be an essential paradigm shift for utilizing the ever-increasing complexity of novel hardware/software technologies.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Design Proposal for a Next Generation Scientific Software Framework

High performance scientific software has many unique and challenging characteristics. These codes typically consist of many different stages of computation with different algorithms and components with diverse requirements. These heterogeneous algorithms, coupled with with platform heterogeneity, create serious performance challenges. To retain performance, portability and maintainability of th...

متن کامل

A Survey of Portability in Scientific Computing

Portability is a measure of the ease with which software can be moved between heterogeneous computing platforms. Software with a high degree of portability is valuable because it reaches more users. Commercial developers expend a considerable effort to make software that can run on multiple platforms. Scientific programmers have the same motivation to make their software portable, but their req...

متن کامل

Treating a User-Defined Parallel Library as a Domain-Specific Language

The software crisis within scientific computing has been that application codes become larger and more complex. The only conceivable solution is to make application codes smaller and less complex. We know of no way to resolve this crisis, except to make each line of code mean more; this is the process of defining high-level abstractions. Achieving high-performance from high-level abstractions r...

متن کامل

A Framework for the Development of Multiagent Architectures

This paper describes a high-performance software system that supports distributed computing and multi-agent coordination. Our system provides the facilities necessary for experimenting with a variety of choices at different levels of abstraction. At each level, we provide a set of abstractions, tools to manipulate those abstractions, and the design rationale behind those abstractions. This pape...

متن کامل

Parallel/High-Performance Object-Oriented Scientific Computing Today

Scientific programming has reached an unprecedented degree of complexity. Sopisticated algorithms, a wide range of hardware environments, and an increasing demand for system integration, portability, and fault tolerance have shown that language-level abstraction must increase; at the same time performance must not be compromised. Work presented at previous POOSC workshops has shown that the OO ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014